/*River Warren
 *October 10, 2011
 *
 *Updated Oct 14 2011 12:13AM - John Grange, fix compile bug.
 *Updated Oct 16 2011 9:08PM - River Warren, added inventory get methods
 *Updated Nov 5, 2011 - River Warren
 *Castle.h
 *To be used by the game Dungeons and Princesses
 *Controller class for Room class
 */

#ifndef CASTLE_H_INCLUDED
#define CASTLE_H_INCLUDED

#define NUMOFROOMS 29
#include <vector>
#include <string.h>
#include "Room.h"
#include <stdio.h> // we will use sprintf instead itoa

using std::vector;

class Castle
{
public:
    Castle(string);//constructor for new game loads R0
    virtual ~Castle();

    void saveRooms(string);//saves all rooms
    Room * getRoom(string roomID);

    //base class methods**************************
    string getDesc();//get description of room

    //inventory methods.**********************
    //add something to the inventory by room
    //use this method to preload rooms
    void addByRoom(int roomNum, Base* item){rooms[roomNum].add(item);}

protected:
private:
    void loadRooms(string);//loads rooms into array
    vector <Room>rooms;//array of rooms that make up a castle
};

#endif // CASTLE_H_INCLUDED
